<script setup lang="ts">
import type { IconType } from '@/types/order'
import { useRouter } from 'vue-router'
const router = useRouter()
const props = defineProps<{
  title?: string
  rightText?: string
  back?: () => void
  bgc?: string
  rightObj?: IconType
}>()
const clickLeft = () => {
  // 所有的历史记录都被清空
  if (props.back) {
    return props.back()
  }
  // props.back && props.back()
  // 判断历史记录中是否存在有url地址，如果有则跳转到历史url地址，如果没有则跳到首页
  if (history.state?.back) {
    router.push(history.state.back)
  } else {
    router.push('/home')
  }
}
// 自定义事件
const emits = defineEmits<{
  (e: 'clickRight'): void
}>()
const clickRight = () => {
  emits('clickRight')
}
</script>

<template>
  <van-nav-bar
    :title="title"
    left-arrow
    fixed
    :right-text="rightText"
    @click-left="clickLeft"
    @click-right="clickRight"
    :style="{ background: bgc }"
  >
    <template #right v-if="rightObj">
      <van-icon
        :name="rightObj?.name"
        :color="rightObj?.color"
        :size="rightObj?.size"
      />
    </template>
  </van-nav-bar>
</template>

<style lang="scss" scoped>
:deep() {
  .van-nav-bar__content {
    .van-nav-bar__ {
      &title {
        font-weight: var(--van-font-weight-bold);
      }
      &arrow {
        color: var(--cp-text1);
        font-size: var(--cp-font-size-18);
      }
      &text {
        font-size: var(--cp-font-size-15);
      }
    }
  }
}
</style>
